package com.mathpractise.repository;

import com.mathpractise.model.TrainingSession;

import java.util.List;
import java.util.Optional;

/**
 * 训练数据访问接口
 */
public interface TrainingRepository {
    
    /**
     * 保存训练会话
     *
     * @param session 训练会话
     */
    void save(TrainingSession session);
    
    /**
     * 根据会话ID查找训练会话
     *
     * @param sessionId 会话ID
     * @return 训练会话
     */
    Optional<TrainingSession> findById(String sessionId);
    
    /**
     * 查找所有训练会话
     *
     * @return 所有训练会话列表
     */
    List<TrainingSession> findAll();
    
    /**
     * 更新训练会话
     *
     * @param session 训练会话
     */
    void update(TrainingSession session);
    
    /**
     * 删除训练会话
     *
     * @param sessionId 会话ID
     */
    void delete(String sessionId);
}